home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / graphics / tierra40.arj / TIERRA / GB3 / 0093AAA.TIE < prev    next >
Text File  |  1992-09-08  |  5KB  |  100 lines

  1.  
  2. format: 3  bits: 3
  3. genotype: 0093aaa  parent genotype: 0666god
  4.  
  5. track 0: prot
  6.           xwr
  7. nop1   ; 010 000 00   0 beginning marker
  8. nop1   ; 010 000 00   0 beginning marker
  9. nop1   ; 010 000 00   0 beginning marker
  10. nop1   ; 010 000 00   0 beginning marker
  11. zero   ; 010 000 00   0 to clear bx
  12. enter  ; 010 000 00   0 to clear bx
  13. adrb   ; 010 000 00   0 find start
  14. nop0   ; 010 000 00   0 complement to beginning marker
  15. nop0   ; 010 000 00   0 complement to beginning marker
  16. nop0   ; 010 000 00   0 complement to beginning marker
  17. nop0   ; 010 000 00   0 complement to beginning marker
  18. exch   ; 010 000 00   0 ax = templ size, bx = start addr after templ
  19. sub    ; 010 000 00   0 ax = start addr
  20. zero   ; 010 000 00   0 to clear bx
  21. exch   ; 010 000 00   0 to clear bx, ax = start, bx = 0
  22. adrf   ; 010 000 00   0 find end
  23. nop0   ; 010 000 00   0 complement to end marker
  24. nop0   ; 010 000 00   0 complement to end marker
  25. nop0   ; 010 000 00   0 complement to end marker
  26. nop1   ; 010 000 00   0 complement to end marker
  27. inc    ; 010 000 00   0 increment ax, to include dummy instruction at end
  28. rollu  ; 010 000 00   0 ax = start, bx = end
  29. push   ; 010 000 00   0 save start addr on stack
  30. sub    ; 010 000 00   0 ax = bx - ax, ax = size
  31. pop    ; 010 000 00   0 pop start addr from stack: ax = start, bx = size
  32. nop1   ; 010 000 00   0 reproduction loop marker
  33. nop1   ; 010 000 00   0 reproduction loop marker
  34. nop0   ; 010 000 00   0 reproduction loop marker
  35. nop1   ; 010 000 00   0 reproduction loop marker
  36. mal    ; 010 000 00   0 allocate daughter, ax = daughter, bx = mom, cx = size
  37. call   ; 010 000 00   0 call template below (copy procedure)
  38. nop0   ; 010 000 00   0 copy procedure complement
  39. nop0   ; 010 000 00   0 copy procedure complement
  40. nop1   ; 010 000 00   0 copy procedure complement
  41. nop1   ; 010 000 00   0 copy procedure complement, ax = mom, bx = size
  42. rolld  ; 010 000 00   0 put ax = mom, bx = size
  43. zero   ; 010 000 00   0 set offset of IP into daughter at 0
  44. divide ; 010 000 00   0 create independent daughter cell
  45. rolld  ; 010 000 00   0 put ax = mom, bx = size
  46. jmpb   ; 010 000 00   0 jump back to template below (reproduction loop)
  47. nop0   ; 010 000 00   0 reproduction loop complement
  48. nop0   ; 010 000 00   0 reproduction loop complement
  49. nop1   ; 010 000 00   0 reproduction loop complement
  50. nop0   ; 010 000 00   0 reproduction loop complement
  51. ifz    ; 010 000 00   0 dummy instruction to separate templates
  52. nop1   ; 010 000 00   0 copy procedure template
  53. nop1   ; 010 000 00   0 copy procedure template
  54. nop0   ; 010 000 00   0 copy procedure template
  55. nop0   ; 010 000 00   0 copy procedure template
  56. rolld  ; 010 000 00   0 roll mom's start address to ax
  57. push   ; 010 000 00   0 push mom's start address on stack
  58. rolld  ; 010 000 00   0 roll mom's size to ax
  59. push   ; 010 000 00   0 push mom's size on stack
  60. rollu  ; 010 000 00   0 roll stack back up
  61. rollu  ; 010 000 00   0 roll stack back up
  62. nop1   ; 010 000 00   0 copy loop template
  63. nop0   ; 010 000 00   0 copy loop template
  64. nop1   ; 010 000 00   0 copy loop template
  65. nop0   ; 010 000 00   0 copy loop template
  66. movii  ; 010 000 00   0 move instruction from mother [bx] to daughter [ax]
  67. rolld  ; 010 000 00   0 roll size down to ax
  68. rolld  ; 010 000 00   0 roll size down to ax
  69. dec    ; 010 000 00   0 decrement size
  70. ifz    ; 010 000 00   0 test for end of loop (size = 0)
  71. jmp    ; 010 000 00   0 jump out of loop
  72. nop0   ; 010 000 00   0 copy procedure exit complement
  73. nop1   ; 010 000 00   0 copy procedure exit complement
  74. nop0   ; 010 000 00   0 copy procedure exit complement
  75. nop0   ; 010 000 00   0 copy procedure exit complement
  76. rollu  ; 010 000 00   0 roll mother's address into ax
  77. inc    ; 010 000 00   0 increment mother's address
  78. rollu  ; 010 000 00   0 roll daughter's address into ax
  79. inc    ; 010 000 00   0 increment daughter's address
  80. jmpb   ; 010 000 00   0 jump to top of copy loop
  81. nop0   ; 010 000 00   0 copy loop complement
  82. nop1   ; 010 000 00   0 copy loop complement
  83. nop0   ; 010 000 00   0 copy loop complement
  84. nop1   ; 010 000 00   0 copy loop complement
  85. ifz    ; 010 000 00   0 dummy instruction to separate templates
  86. nop1   ; 010 000 00   0 copy procedure exit template
  87. nop0   ; 010 000 00   0 copy procedure exit template
  88. nop1   ; 010 000 00   0 copy procedure exit template
  89. nop1   ; 010 000 00   0 copy procedure exit template
  90. pop    ; 010 000 00   0 pop size from stack into ax
  91. pop    ; 010 000 00   0 pop mom's address from stack into ax
  92. pop    ; 010 000 00   0 pop call's address from stack into ax
  93. jmp    ; 010 000 00   0 jump to instruction after call (return)
  94. ifz    ; 010 000 00   0 dummy instruction to separate templates
  95. nop1   ; 010 000 00   0 end marker
  96. nop1   ; 010 000 00   0 end marker
  97. nop1   ; 010 000 00   0 end marker
  98. nop0   ; 010 000 00   0 end marker
  99. ifz    ; 010 000 00   0 end marker
  100.